Today it is common for homes and offices to contain many electronic devices that provide, receive and/or support services, such as voice communication, video communication, data services, and security from a service provider. Examples of these devices include wireless and wired telephones, alarm systems, computers, digital cameras, televisions, broadband home routers, and set top boxes. For instance, set top boxes provide content delivery services such as IPTV services through content delivery networks such as IPTV networks. When a user experiences difficulty in receiving the services, the user may call a customer service representative to seek assistance. The customer service representative can often respond to routine issues, but may have difficulty responding to more complex issues. This often results in the service provider sending a technician to the user's location to diagnose and resolve the issue.
Because of their complexity many electronic devices are often accompanied by specialized diagnostic software to identify and correct problems that may arise. Such software may be resident on an electronic device when it is delivered to the customer or it may be installed by the technician upon his or her arrival. For a variety of reasons the software provider may wish to provide limited access to the diagnostic software to the various parties. For instance, because of its complexity the software provider may wish to prevent the end user from accessing the software in order to prevent its improper use by the end user, which could further complicate the diagnostic and repair process. In addition, the software provider may wish to control the technician's access to the diagnostic software in order to require the technician to provide an accounting of each use so that, for instance, it can charge a fee on a per use basis.
Typically, limited access to the software can be resolved through a software licensing scheme, where the software requires a legitimate software license to enable the requested features. However, this solution becomes problematic if the software, or certain features of the software, should only be enabled under certain controlled scenarios (such as when a technician is present during a service visit). In addition, for any of a variety of reasons such as a malfunction in the equipment, the device may not be able to communicate with a license server over an external network (such as the Internet) when it needs to obtain authorization to activate the software features. Therefore, it would be advantageous if a local authority could be used to authorize the desired software features upon arrival of the technician.